home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / hotplug / firmware.agent < prev    next >
Text File  |  2006-05-01  |  1KB  |  62 lines

  1. #!/bin/sh
  2. #
  3. # Firmware-specific hotplug policy agent.
  4. #
  5. # Kernel firmware hotplug params include:
  6. #
  7. #       ACTION=%s [add or remove]
  8. #       DEVPATH=%s [in 2.5 kernels, /sys/$DEVPATH]
  9. #       FIRMWARE=%s
  10. #
  11. # HISTORY:
  12. #
  13. # 24-Jul-2003   Initial version of "new" hotplug agent.
  14. #
  15. # $Id: firmware.agent,v 1.4 2004/09/20 21:23:51 kroah Exp $
  16. #
  17.  
  18. cd /etc/hotplug
  19. . ./hotplug.functions
  20. # DEBUG=yes export DEBUG
  21.  
  22. # directory of the firmware files
  23. FIRMWARE_DIR=/lib/firmware
  24.  
  25. # mountpoint of sysfs
  26. SYSFS=$(sed -n 's/^.* \([^ ]*\) sysfs .*$/\1/p' /proc/mounts)
  27.  
  28. # use /proc for 2.4 kernels
  29. if [ "$SYSFS" = "" ]; then
  30.     SYSFS=/proc
  31. fi
  32.  
  33. #
  34. # What to do with this firmware hotplug event?
  35. #
  36. case "$ACTION" in
  37.  
  38. add)
  39.     if [ ! -e $SYSFS/$DEVPATH/loading ]; then
  40.         sleep 1
  41.     fi
  42.  
  43.     if [ -f "$FIRMWARE_DIR/$FIRMWARE" ]; then
  44.         echo 1 > $SYSFS/$DEVPATH/loading
  45.         cp "$FIRMWARE_DIR/$FIRMWARE" $SYSFS/$DEVPATH/data
  46.         echo 0 > $SYSFS/$DEVPATH/loading
  47.     else
  48.         echo -1 > $SYSFS/$DEVPATH/loading
  49.     fi
  50.  
  51.     ;;
  52.  
  53. remove)
  54.     ;;
  55.  
  56. *)
  57.     mesg "Firmware '$ACTION' event not supported"
  58.     exit 1
  59.     ;;
  60.  
  61. esac
  62.